package com.msb.commons.dto;

import com.baomidou.mybatisplus.annotation.IdType;
import java.time.LocalDate;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * <p>
 * 
 * </p>
 *
 * @author chshh
 * @since 2022-10-25
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class DriverUser implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 司机注册地行政区域代码
     */
    private String address;

    /**
     * 司机姓名
     */
    private String driverName;

    /**
     * 司机手机号
     */
    private String driverPhone;

    /**
     * 司机性别
     */
    private Integer driverGender;

    /**
     * 司机生日
     */
    private LocalDate driverBirthday;

    /**
     * 司机民族
     */
    private String driverNation;

    /**
     * 司机通信地址
     */
    private String driverContactAddress;

    /**
     * 机动车驾驶证号码
     */
    private String licenseId;

    /**
     * 数次领取驾驶证日期
     */
    private LocalDate getDriverLicenseDate;

    /**
     * 驾驶证有效期限起
     */
    private LocalDate driverLicenseOn;

    /**
     * 驾驶证有效期限止
     */
    private LocalDate driverLicenseOff;

    /**
     * 是否巡游出租车汽车驾驶员  1:是  0:否
     */
    private Integer taxiDriver;

    /**
     * 网络预约出租车驾驶员资格证号
     */
    private String certificateNo;

    /**
     * 网络预约出租车驾驶员证发证机构
     */
    private String networkCarIssueOrganization;

    /**
     * 资格证发证日期
     */
    private LocalDate networkCarIssueDate;

    /**
     * 初次领取资格证日期
     */
    private LocalDate getNetworkCarProofDate;

    /**
     * 资格证有效起始日期
     */
    private LocalDate networkCarProofOn;

    /**
     * 资格证有效截止日期
     */
    private LocalDate networkCarProofOff;

    /**
     * 驾驶员信息向服务所在地出租车行政主管部门报备日期
     */
    private LocalDate registerDate;

    /**
     * 服务类型:1.网络预约出租汽车  2.巡游出租汽车  3.私人小客车合乘
     */
    private Integer commercialType;

    /**
     * 驾驶员合同(或协议)签署公司名称
     */
    private String contractCompany;

    /**
     * 驾驶员合同(或协议)有效期起
     */
    private LocalDate contractOn;

    /**
     * 驾驶员合同(或协议)有效期止
     */
    private LocalDate contractOff;

    /**
     * 司机状态    0:有效  1:失效
     */
    private Integer state;

    /**
     * 创建时间
     */
    private LocalDateTime gmtCreate;

    /**
     * 修改时间
     */
    private LocalDateTime gmtModified;


}
